package com.ccubee.data.transfer.model;

import com.ccubee.data.transfer.types.TransferMod;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 数据传输请求参数
 *
 * @Author ycf
 * @Date 2022/11/13 22:52
 * @Version 1.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
public class TransferRequest {
    /**
     * 实例可以是多个 a,b,c=[a,b,c]
     */
    private String instance = "";
    /**
     * 传输的模式
     */
    private TransferMod transferMod = TransferMod.ID;
    /**
     * 传输模式为ID模式字段 例如：id
     */
    private String column = "id";
    /**
     * 开始页/模式为ID表示当前ID
     */
    private Long start = 1L;
    /**
     * 每次的条数
     */
    private Long pageSize = 1000L;
    /**
     * 最大页数0或者不传则无限制
     */
    private Long end = 0L;
    /**
     * 是否重制 重制表示以当前参数为主，不重制表示以内部结果累计
     */
    private Boolean reset;
    /**
     * 延迟/毫秒
     */
    private Long sleep = 1000L;
}
